<?php

namespace App\Http\Controllers\Test;

use App\Http\Controllers\Controller;
use App\Models\Admin;
use App\Models\SiteGold;
use App\Models\UserGold;
use App\Service\Queue;


class TaskController extends Controller
{
    // 会员任务测试（做任务获取积分）
    public function initialize()
    {
        parent::initialize();
    }

    // 会员任务：消息队列获取用户积分
    public function task()
    {
        $uid    = 10;
        $field  = 'to_register';
        $queue  = new Queue();
        $result = $queue->memberTask($uid, $field);

        return $this->success($result);
    }

    // 直接 执行任务获取积分
    public function to()
    {
        // 参数操作
        $uid   = 10;
        $field = 'to_register';


        $uGoldDb = new UserGold();
        $goldDb  = new SiteGold();
        // 获取任务信息
        $taskInfo = $goldDb->isCache(true)->oneFind(['field' => $field]);
        if(empty($taskInfo)){
            return $this->error('任务不存在！');
        }

        // 判断任务是否完成
        $res = $uGoldDb->isFinish($taskInfo, $uid, $field);
        if($res){
            return $this->error('任务已经完成！！');
        }

        // 去完成任务
        $result = $uGoldDb->addUserGold($uid, $field);
        if($result){
            return $this->success($result);
        } else{
            return $this->error($uGoldDb->getError());
        }
    }
}


